原本的想法其實是希望可以寫一個類似交友軟體的app,但中途卡關,也覺得學得不夠扎實,所以先寫了一個小小的to-do list當作起步。
現在可能懂的比較多一點點,看看能不能完成,就當作一個更大的挑戰吧୧༼✿ ͡◕ д ◕͡ ༽୨
教大家如何開app新專案的文章有夠多XD,這邊就不贅述了。
專案大致的架構如下:arrow_down:
├─Info.plist
├─Resources
| ├─AppDelegate
| ├─SceneDelegate
| ├─Extensions
| └─DatabaseManager
├─Controllers
| ├─ConversationViewController (原本的main ViewController)
| ├─ChatViewController
| ├─LoginViewController
| ├─NewConversationViewController
| ├─PhotoViewerViewController
| ├─ProfileViewController
| ├─RegisterViewController
| └─VideoPlayerViewController
└─Views
└─Storyboards
├─Main.Storyboard
└─LaunchScreen.Storyboard
這次多了一些上次小專案沒有的架構與檔案,在此稍微說明一下。
放一些設定的地方。好隨便的說明啊
如果對應到以前後端開發的檔案,定位就像是config文件。
像是針對不同環境去設定變數,就可以在這邊更改。
簡單來說,AppDelegate負責app的生命週期,而SceneDelegate負責前端畫面顯示的東西。
而你問我生命週期是什麼...感謝網路上總是有大神,能把???的技術用語以白話文精準清楚的解釋,參混淆系列:App 的生命週期「App Life Cycle」
其中講到當前ios13 AppDelegate中共有3個函式
:::info
一些共同元件,或是單純處理畫面、與商業邏輯無關的程式轉換。
跟DB連線,然後使用這個singleton連線去對DB進行資料存取。
其實我前一份程式也有做版控,總之版控起手式
git init
在地端資料夾加上版控
git add .
git status
把目前的內容加入,使用git status
可以看到還沒commit的內容已被加入
git commit -m "Init pj"
commit後可以使用log去看提交紀錄。
git log
不過有GUI就會想用一下,所以就下載了GitHub桌面版 XD
還算蠻好用的,也可連到GitHub、進行push。不過本系列文也不是旨在如何成為git大師,就大概帶過基本語法~~
先前第一次初始專案時已經提過cocoapods的角色,那我這邊就不多加說明,直接附上內容。
pod init
open Podfile
可在終端機使用以上指令,然後貼上以下的dependencies。
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'
target 'RealTimeChatroom' do
# Comment the next line if you do not want to use dynamic frameworks
use_frameworks!
# Pods for RealTimeChatroom
pod 'Firebase/Core'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'Firebase/Analytics'
pod 'MessageKit'
pod 'JGProgressHUD'
pod 'RealmSwift'
pod 'SDWebImage'
end
與上次不同,我們這次的DB採用firebase。存檔後把resources下載下來。
pod install
接下來就可以打開workspace,明天會先從註冊/登入的畫面下手。
如果有任何錯誤或指教,歡迎留言給我!第10天了,加油加油 ໒( ͡ᵔ ▾ ͡ᵔ )७